#include "linklist.h"
int main(int argc, const char *argv[])
{
	linkList *L=list_create();
	if(NULL==L)
	{
		printf("创建表失败\n");
		return -1;
	}
	int n;
	printf("输入学生个数：");
	scanf("%d",&n);
	input2(L,n);
	//student stu1={1,"wjm1",99};
	//student stu2={2,"wjm2",100};
	//student stu3={4,"iu2",98};
	//list_insert_tail(L,stu1);
	//list_insert_tail(L,stu2);
	//list_insert_tail(L,stu3);
	list_show(L);
	printf("\n");
	while(1)
	{
		menu();
		int a=0;
		printf("输入序号：");
		scanf("%d",&a);
		if(a==1)
		{
			student stu=input1();
			list_insert_tail(L,stu);
			list_show(L);
			printf("增加成功\n");

		}
		else if(a==2)
		{
			printf("输入学生姓名：");
			char name[10];
			scanf("%s",name);
			int b=list_search_value(L,name);
			if(b!=-1)
			{
				list_delete_pos(L,b);
				list_show(L);
				printf("删除成功\n\n");
				continue;
			}
			printf("删除失败\n");

								
		}
		else if(a==3)
		{
			printf("输入学生姓名：");
			char name[10];
			scanf("%s",name);
			int b=list_search_value(L,name);
			if(b!=-1)
			{
				linkList *p=find_node(L,b);
				printf("学号：%d\t姓名：%s\t成绩：%d\n",p->data.id,p->data.name,p->data.score);
				printf("\n");
				continue;
			}
			printf("不是该班学生\n");
			printf("查找失败\n");
		}
		else if(a==4)
		{
			linkList *p=max(L);
			if(p!=NULL)
			{
				printf("最高分学生：\n");
				printf("学号：%d\t姓名：%s\t成绩：%d\n",p->data.id,p->data.name,p->data.score);
				printf("\n");
				continue;
			}
			printf("查找失败\n");
		}
		else if(a==5)
		{
			sort(L);
			list_show(L);
			printf("排序成功\n");
		}
		else if(a==6)
		{
			list_show(L);
		}
		else if(a==7)
		{
			exit(0);
		}
		else
		{
			printf("输入不合法\n");
			printf("退出程序\n");
			exit(1);
		}
		printf("\n");
	}
	return 0;
}
